package Test1;

public class T1 {
    public static void main(String[] args) {
//        创立三人的初始化信息
        Student s = new Student("张三", 19);
        Teacher t = new Teacher("宋玲", 40);
        Administrator a =new Administrator("老王",45);

//        分别调用方法
        register(s);
        register(t);
        register(a);

//        多态的前提：   有继承（实现）关系
//                     有父类引用指向子类对象的
//                     有方法重写

    }
//    注册方法：老师，学生，管理员都能使用，所以参数传他们的父类
//    使用父类作为参数，可以调用所有的子类对象，体现多态的便利性

//    多态的弊端：  不能调用子类的特有方法 ——》解决方法：使用强制转换，转变成子类
    public static void register(Person p){
        p.show();
    }
}
